package com.cgnpc.scp.sri.budget.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cgnpc.scp.common.utils.DateUtil;
import com.cgnpc.scp.sri.budget.pojo.Expense;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@TableName("tbl_sri_budget_item")
public class BudgetItem {
    private String id;

    private String procInstId;

    private String processFullName;

    private String processName;

    private String processStatus;

    private String folio;

    private Integer year;

    private Integer planStatus;

    private String subjectCode;

    private String subjectName;

    private String belongSubsection;

    private Date conclusionDate;

    private String itemLeaderName;

    private String itemLeaderNumber;

    private String tripNeed;

    private Date tripDateFrom;

    private Date tripDateTo;

    private String tripPlace;

    private Integer tripPersonNumber;

    private String tripReason;

    private String remark;

    private Date approveTime;

    private Date createTime;

    private String createUser;

    private String createUserName;

    private Date lastUpdateTime;

    private String lastUpdateUser;

    private String lastUpdateUserName;

    private String travelExpense;

    private String meetingExpense;

    private String consultingExpense;

    private String businessSupportExpense;

    private String deviceExpense;

    private String softwareExpense;

    private BigDecimal materialExpense;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getProcInstId() {
        return procInstId;
    }

    public void setProcInstId(String procInstId) {
        this.procInstId = procInstId == null ? null : procInstId.trim();
    }

    public String getProcessFullName() {
        return processFullName;
    }

    public void setProcessFullName(String processFullName) {
        this.processFullName = processFullName == null ? null : processFullName.trim();
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName == null ? null : processName.trim();
    }

    public String getProcessStatus() {
        return processStatus;
    }

    public void setProcessStatus(String processStatus) {
        this.processStatus = processStatus == null ? null : processStatus.trim();
    }

    public String getFolio() {
        return folio;
    }

    public void setFolio(String folio) {
        this.folio = folio == null ? null : folio.trim();
    }

    public Integer getYear() {
        return year;
    }

    public void setYear(Integer year) {
        this.year = year;
    }

    public Integer getPlanStatus() {
        return planStatus;
    }

    public void setPlanStatus(Integer planStatus) {
        this.planStatus = planStatus;
    }

    public String getSubjectCode() {
        return subjectCode;
    }

    public void setSubjectCode(String subjectCode) {
        this.subjectCode = subjectCode == null ? null : subjectCode.trim();
    }

    public String getSubjectName() {
        return subjectName;
    }

    public void setSubjectName(String subjectName) {
        this.subjectName = subjectName == null ? null : subjectName.trim();
    }

    public String getBelongSubsection() {
        return belongSubsection;
    }

    public void setBelongSubsection(String belongSubsection) {
        this.belongSubsection = belongSubsection == null ? null : belongSubsection.trim();
    }

    public Date getConclusionDate() {
        return DateUtil.cloneNewDate(conclusionDate);
    }

    public void setConclusionDate(Date conclusionDate) {
        this.conclusionDate = DateUtil.cloneNewDate(conclusionDate);
    }

    public String getItemLeaderName() {
        return itemLeaderName;
    }

    public void setItemLeaderName(String itemLeaderName) {
        this.itemLeaderName = itemLeaderName == null ? null : itemLeaderName.trim();
    }

    public String getItemLeaderNumber() {
        return itemLeaderNumber;
    }

    public void setItemLeaderNumber(String itemLeaderNumber) {
        this.itemLeaderNumber = itemLeaderNumber == null ? null : itemLeaderNumber.trim();
    }

    public String getTripNeed() {
        return tripNeed;
    }

    public void setTripNeed(String tripNeed) {
        this.tripNeed = tripNeed == null ? null : tripNeed.trim();
    }

    public Date getTripDateFrom() {
        return DateUtil.cloneNewDate(tripDateFrom);
    }

    public void setTripDateFrom(Date tripDateFrom) {
        this.tripDateFrom = DateUtil.cloneNewDate(tripDateFrom);
    }

    public Date getTripDateTo() {
        return DateUtil.cloneNewDate(tripDateTo);
    }

    public void setTripDateTo(Date tripDateTo) {
        this.tripDateTo = DateUtil.cloneNewDate(tripDateTo);
    }

    public String getTripPlace() {
        return tripPlace;
    }

    public void setTripPlace(String tripPlace) {
        this.tripPlace = tripPlace == null ? null : tripPlace.trim();
    }

    public Integer getTripPersonNumber() {
        return tripPersonNumber;
    }

    public void setTripPersonNumber(Integer tripPersonNumber) {
        this.tripPersonNumber = tripPersonNumber;
    }

    public String getTripReason() {
        return tripReason;
    }

    public void setTripReason(String tripReason) {
        this.tripReason = tripReason == null ? null : tripReason.trim();
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public Date getApproveTime() {
        return DateUtil.cloneNewDate(approveTime);
    }

    public void setApproveTime(Date approveTime) {
        this.approveTime = DateUtil.cloneNewDate(approveTime);
    }

    public Date getCreateTime() {
        return DateUtil.cloneNewDate(createTime);
    }

    public void setCreateTime(Date createTime) {
        this.createTime = DateUtil.cloneNewDate(createTime);
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName == null ? null : createUserName.trim();
    }

    public Date getLastUpdateTime() {
        return DateUtil.cloneNewDate(lastUpdateTime);
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = DateUtil.cloneNewDate(lastUpdateTime);
    }

    public String getLastUpdateUser() {
        return lastUpdateUser;
    }

    public void setLastUpdateUser(String lastUpdateUser) {
        this.lastUpdateUser = lastUpdateUser == null ? null : lastUpdateUser.trim();
    }

    public String getLastUpdateUserName() {
        return lastUpdateUserName;
    }

    public void setLastUpdateUserName(String lastUpdateUserName) {
        this.lastUpdateUserName = lastUpdateUserName == null ? null : lastUpdateUserName.trim();
    }

    public String getTravelExpense() {
        return travelExpense;
    }

    public void setTravelExpense(String travelExpense) {
        this.travelExpense = travelExpense == null ? null : travelExpense.trim();
    }

    public String getMeetingExpense() {
        return meetingExpense;
    }

    public void setMeetingExpense(String meetingExpense) {
        this.meetingExpense = meetingExpense == null ? null : meetingExpense.trim();
    }

    public String getConsultingExpense() {
        return consultingExpense;
    }

    public void setConsultingExpense(String consultingExpense) {
        this.consultingExpense = consultingExpense == null ? null : consultingExpense.trim();
    }

    public String getBusinessSupportExpense() {
        return businessSupportExpense;
    }

    public void setBusinessSupportExpense(String businessSupportExpense) {
        this.businessSupportExpense = businessSupportExpense == null ? null : businessSupportExpense.trim();
    }

    public String getDeviceExpense() {
        return deviceExpense;
    }

    public void setDeviceExpense(String deviceExpense) {
        this.deviceExpense = deviceExpense == null ? null : deviceExpense.trim();
    }

    public String getSoftwareExpense() {
        return softwareExpense;
    }

    public void setSoftwareExpense(String softwareExpense) {
        this.softwareExpense = softwareExpense == null ? null : softwareExpense.trim();
    }

    public BigDecimal getMaterialExpense() {
        return materialExpense;
    }

    public void setMaterialExpense(BigDecimal materialExpense) {
        this.materialExpense = materialExpense;
    }

    @TableField(exist = false)
    private String totalExpense;
    @TableField(exist = false)
    private String belongSubsectionLabel;
    @TableField(exist = false)
    private List<BudgetItemTripPeople> tripPerson;

    @TableField(exist = false)
    private List<String> ids;

    public List<String> getIds() {
        return ids;
    }

    public void setIds(List<String> ids) {
        this.ids = ids;
    }

    public String getTotalExpense() {
        return totalExpense;
    }

    public void setTotalExpense(String totalExpense) {
        this.totalExpense = totalExpense;
    }

    public String getBelongSubsectionLabel() {
        return belongSubsectionLabel;
    }

    public void setBelongSubsectionLabel(String belongSubsectionLabel) {
        this.belongSubsectionLabel = belongSubsectionLabel;
    }

    public List<BudgetItemTripPeople> getTripPerson() {
        return tripPerson;
    }

    public void setTripPerson(List<BudgetItemTripPeople> tripPerson) {
        this.tripPerson = tripPerson;
    }

    @TableField(exist = false)
    private Expense left;

    public Expense getLeft() {
        return left;
    }

    public void setLeft(Expense left) {
        this.left = left;
    }
}